home *** CD-ROM | disk | FTP | other *** search
/ Tech Arsenal 1 / Tech Arsenal (Arsenal Computer).ISO / tek-01 / zeno25.zip / ZENO.DOC < prev    next >
Text File  |  1990-01-19  |  9KB  |  165 lines

  1. ZENO is a small, fast, core-resident program that speeds up certain screen
  2. writes.  The actual increase in speed is almost three-fold, but the increase
  3. you see on the screen depends on the application program in use.  An example:
  4. with BCOMM operating at 9600 bps, the increase is approximately 20-30 percent.
  5. Only certain programs take advantage of ZENO; but those that don't (including
  6. PC-Write) are usually fast enough without it.
  7.  
  8. ZENO reduces available memory by about 900 bytes.
  9.  
  10. ZENO operates with all screens.  On some color screens, however, it may cause
  11. snow -- harmless but annoying.  If that happens, remove ZENO with the
  12. instructions below.
  13.  
  14. Important:  Do not change back and forth between monochrome and color displays
  15. while ZENO is installed.  Users of monochrome graphics boards:  this includes
  16. you.
  17.  
  18. To load:  At the DOS prompt, type ZENO.  A message will appear.
  19.  
  20. To remove:  At the DOS prompt, type ZENO/K (use no spaces; must be capital K).
  21. A message will appear.  Important: First remove all core-resident programs
  22. loaded after ZENO.
  23.  
  24. Additional Comments
  25. -------------------
  26. (1)  ZENO, like many other fast screen programs, eliminates the wait for the
  27.      retrace.  But ZENO also trys to speed up the BIOS routines in other ways
  28.      as well.  For details, see the ASM listing.  Roughly speaking, ZENO
  29.      assumes that the underlying program is trying to use the BIOS call in the
  30.      most likely manner;  it tests for that, and if the assumption is right,
  31.      uses a faster method.  If ZENO's assumptions are wrong, the test of the
  32.      assumption slows down ZENO's performance in comparison to a program that
  33.      only eliminates the retrace delay.  Therefore, if the underlying program's
  34.      use of INT 10 is extremely unusual, there may well be faster screen
  35.      speedup programs faster than ZENO.  But that is likely to be true only of
  36.      very rare programs.
  37. (2)  TEST.COM does nothing but a series of BIOS screen writes, counting timer
  38.      interrupts.  It then writes out the number of timer interrupts that have
  39.      elapsed.  Useful for comparing fast screen programs, although, obviously,
  40.      it does not test them under all conditions.
  41. (3)  Comments and suggestions are best addressed to me, David Seidman, on Bob
  42.      Blacher's bulletin board, 202-547-2008.
  43.  
  44. ----------------------------------------
  45.  
  46. CHANGES by Ron Tansky:
  47.  
  48. Fixes: ZENO would hang the computer if 40-character mode was used.  I modified
  49. the program to bypass the speed-up in 40-character mode.  I also modified the
  50. program to accept /k or /K on the command line to kill ZENO.  Also changed
  51. message to say 'may cause snow', as the current message 'may cause
  52. interference' really worried some users.
  53.  
  54. Second set of changes by Ron Tansky:  The first set of changes fixed the hang
  55. if 40-character mode turned on, but I later discovered that the ZENO speed-
  56. improvement was permanently turned off afterwards ('til next boot).  I also
  57. found out that the same was true for graphics mode with the original ZENO; i.e.
  58. if you ever go into graphics mode, ZENO won't come back to speed afterwards.
  59. This set of changes fixes both of these problems.  ZENO goes to sleep during
  60. modes that it can't handle, but wakes back up and again speeds up 'normal' screen output.  I put a version number into the startup message (version 1.1),
  61. so that you can recognize this latest fix.
  62.  
  63. P.S.  I've tried to send the changed ZENO back to David Seidman, on Bob
  64. Blacher's bulletin board, 202-547-2008.  I've never been able to get anything
  65. but a busy signal.  If anyone knows another way to get these fixes back to the
  66. original author, we'd both appreciate it.
  67.  
  68. ----------------------------------------
  69.  
  70. Changes by Chris Blum - CompuServe 76625,1041  1/28/87
  71.  
  72. Added code to support TTY mode output ( AH = 0EH ). Needed because some clone
  73. BIOSs ( mine is DTK/ERSO ), do not update cursor position through BIOS call in
  74. this mode. Without the changes, ZENO loses its place in the display memory and
  75. the display goes out to lunch with some BIOS configurations. I tried to follow
  76. the technique and spirit of the existing code as much as possible. Updated
  77. version number ( now 1.2 ).
  78.  
  79. ----------------------------------------
  80.  
  81. Changes by Lynn Ransdell  5/29/87
  82.  
  83. As written, ZENO versions 1.1 & 1.2 worked with all my software except KEDIT
  84. 3.51 (Mansfield Software Group, Storrs, CT).  I managed to circumvent the
  85. problem by changing the values loaded/tested in the AX register.  Former values
  86. were 00F0h,,, replacement values were FEFEh.  I made the assumption that KEDIT
  87. was sending the former values (for reasons unknown to me) and that ZENO was
  88. misinterpreting them as its signal to KILL itself.  I further assumed that the
  89. AX values might have been arrbitrarily chosen, and thus could be arbitrarily
  90. changed.  So far, this has proven (with the software that I use) to be satis-
  91. factory, but may conflict with someone else's software.
  92.  
  93. I have labeled this version as 1.3 in order to distinguish it from the prior
  94. versions.  I have not seen any other versions later that ver. 1.2.
  95.  
  96. The program, ZENOTEST.COM, is included in the archive for comparing screen I/O
  97. speed before/after installing ZENO.  It is also useful for benchmarking
  98. different "ansi"-type video drivers.  The best combo I've found is NANSI286.SYS
  99. with ZENO13.
  100.  
  101. ----------------------------------------
  102.  
  103. Changes by Glenn K. Smith       CompuServe 70357,1136   12/14/88
  104.  
  105. ZENO 1.3 was just what the doctor ordered!  ZENO 2.0 is basically the same as
  106. the previous versions, however, this one has the ability to do snow checking.
  107. I managed to get around the problem of snow by using some nifty code to put
  108. characters on the CGA screen.  The only cost in performance was a loss in
  109. speed. ZENO 2.0 runs around 2.5 times slower with snow checking on than
  110. without.  This means that ZENOTEST on my computer went from 28 seconds to 67
  111. seconds.  Its still faster than the 147 seconds that ZENOTEST records without
  112. ZENO being installed.
  113.  
  114. I modified the program to handle a new switch (/S) for snow checking.  I also
  115. made a couple changes to the messages and to the NO ACTION message.  It now
  116. displays the valid switches.
  117.  
  118. I have labeled this version as 2.0 in order to distinguish it from the prior
  119. versions.  I have not seen any other versions later that ver. 1.3.
  120. ----------------------------------------
  121.  
  122. Changes by Glenn K. Smith  CompuServe 70357,1136  01/15/89
  123.  
  124. Oops, I guess ZENO wasn't done.  I had several complaints that PROCOMM+, Turbo
  125. Pascal and a few other programs wouldn't work right when ZENO (any version) was
  126. installed.  This turned out to be a problem on their part, not with ZENO.
  127. Those programs modified the bios cursor without going through ZENO.  The kept
  128. track of the cursor location internally and stored the result when they were
  129. done.  As a result, ZENO was unaware that anything had happened.  The change
  130. was minor, I just used the bios cursor position and re-calculated a new screen
  131. offset everytime a character was placed on the screen.  As a result, these
  132. programs now work, however ZENOTEST now runs about 4 seconds slower.
  133.  
  134. Good News!  A played with the snow checking code and was able to speed it up
  135. quite a bit.  ZENOTEST used to give me a reading of 66 seconds at 10 mhz.  The
  136. new code returns a value of 46 seconds.  Not too bad.  Only 12-13 seconds
  137. slower than without snow checking.
  138.  
  139. I have labeled this version as 2.1 in order to distinguish it from the prior
  140. versions.  I have not seen any other versions later that ver. 2.0.
  141.  
  142. P.S. I've noticed that PROCOMM+ now runs quite a bit faster than it did before.
  143. When you have snow checking enabled, the program called bios to place the
  144. characters on the screen.  Now ZENO does that.  You'll still get snow if you
  145. disable snow checking in PROCOMM+ or with ZENO.
  146.  
  147. ----------------------------------------
  148.  
  149. ZENO 2.5  Changes made by Howard Flank  Jan 19, 1989  301-570-0422
  150.  
  151. ZENO 2.1 did not work at all with my AMI 386SX BIOS.  Large amounts of garbage
  152. appeared on the screen.  I traced the problems to the section of code for
  153. subfunction AH=0Eh that recalculated the cursor position (apparantly for
  154. compatibility with some ERSO BIOS's) after a call to the BIOS.  This section
  155. was rewritten to reacalc the cursor position on the next entry to ZENO.  It was
  156. also made optional with the /E switch.  I also rewrote the command line scanner
  157. to be more general code (after all, it isn't left resident).   ZENO now accepts
  158. accepts upper and lower case characters (converting lower to upper), switches
  159. may be preceeded by slash, dash, or space, etc.  I changed the /K ('Kill')
  160. switch to the more standard /U ('UnInstall') switch.  I also added /H switch to
  161. display a help screen, this is also added to the 'Invalid Switch' message.  All
  162. of the messages were made 'prettier' (in my opinion anyway).  I made large
  163. sections of similar code into subroutines.  The 'kill' code was changed to
  164. 'F0F0' to insure compatibility with TopView.  The resident code is 200 bytes
  165. smaller.